1. Field
The following generally relates to image compression, and more particularly, to a method, apparatus and computer-readable medium for performing adaptive interpolation filtering for image compression.
2. Related Art
In accordance with today's expanding video image applications, encoding and decoding technologies for video image processing are playing a vital role. Currently, various international standards, such as MPEG-x and H.26x, exist for providing video image compression techniques (also called “coding”). Such compression techniques are generally directed to compressing the video image for transmission and/or storage through a process of removing redundancy from the data.
The most recent international standard for video image compression is Motion Pictures Group (“MPEG”) 4 or Advanced Video Coding (“AVC”). In the AVC standard, an intraframe, or I-frame, of a video image is encoded (e.g., compressed) in an encoder or decoded (e.g., uncompressed) in a decoder independently of previous or next frames in the sequence, using only information in the current frame.
In intraframe compression, the image frame is partitioned into blocks of pixels (each an “un-encoded block”). Each un-encoded block is predicted using pixels from a previously coded portion of the frame that are neighbors to such un-encoded block that have been reconstructed (“reconstructed pixels”).
The AVC standard defines 9 intra prediction modes for predicting the 4×4 luma blocks, 9 prediction modes for predicting 8×8 luma blocks, 4 prediction modes for predicting 16×16 luma blocks, and 4 prediction modes for predicting 8×8 chroma blocks; these modes apply a set of defined filters to specific neighboring reconstructed pixels to obtain a prediction of the block (“predicted block”). Generally, the encoder makes multiple block predictions using multiples of the intra prediction modes, and then selects from the multiple block predictions the best mode for carrying out the prediction. To facilitate selecting the best mode, the encoder selects the best mode by calculating differences, or residuals, between the predicted block and the un-encoded block. Thereafter, the encoder selects the best mode as the mode that results in the predicted block having the least amount of residuals. The encoder signals the best mode to the decoder within the transmitted bit stream so that the decoder can decode the predicted block.
For each of the nine intra prediction modes, the encoder dutifully employs statically-formed filters defined by such intra prediction mode. These filters unfortunately do not adapt in accordance with randomness among the neighboring reconstructed pixels used in the prediction. For images with a large variance among the neighboring reconstructed pixels, this can result in a poor image compression, requiring a large number of bits to represent the compressed image and resulting in poor reconstructed image quality.